Component Model Interoperability for Scientific Computing
نویسندگان
چکیده
The ability to create connections between previously incompatible software is the motivation for the work of this dissertation. We focus on devising a paradigm for interoperability between software components, a popular and often used software methodology, while making the practical concerns of this endeavor our main driving force. Component software interoperability is the ability for two or more existing software components to cooperate despite differences in component model, interface or execution platform. It is also the ability to connect and use existing servers though they may be plug-incompatible to the clients. The capability of combining any two components regardless of implementation platform creates a new realm of possibility in using common off-the-shelf components. Unfortunately, solving the general problem of component interoperability using a fully automatic mechanism is daunting. In this work, we describe and analyze a set of techniques and tools that we developed to make component interoperability attainable in a practical sense. Our approach simplifies a difficult but necessary goal of component interoperability and our user-driven generative tools provide several abstractions enabling flexible and structured component integration. By leveraging a generative programming approach, we develop a programmable code generator that interposes a bridge to translate between components of disparate component models. We extend this bridge generation with tools aimed at different aspects of the problem to create a reliable and flexible method of performing this task. Focus is given to mapping of incompatible interfaces and data types and to manipulating data between two heterogeneous components. In order to include semantic understanding of component models into our design, we define a component meta-modeling method and a bridging language. The bridging language leverages component meta-models, which semantically model the individual features of each component model, to produce a translation between two such models. We combine these methods into our stack of tools that aim to bridge difference between heterogeneous component instances and provide component interoperability.
منابع مشابه
The CCA component model for high-performance scientific computing
The Common Component Architecture (CCA) is a component model for high-performance computing, developed by a grass-roots effort of computational scientists. Although the CCA is usable with CORBA-like distributed-object components, its main purpose is to set forth a component model for high-performance, parallel computing. Traditional component models are not well suited for performance and massi...
متن کاملIntegrating Component-Based Scientific Computing Software
In recent years, software component technology has been a successful methodology for large-scale commercial software development. Component technology combines a set of frequently used functions in an easily reusable form and makes the implementation transparent to the users or other components. Developers create new software applications by connecting together a group of components. Component ...
متن کاملLanguage Interoperability for High-Performance Parallel Scientific Components
With the increasing complexity and interdisciplinary nature of scientific applications, code reuse is becoming increasingly important in scientific computing. One method for facilitating code reuse is the use of components technologies [16, 17, 91, which have been used widely in industry. However, components have only recently worked their way into scientific computing [2, 1, 11, 181. Language ...
متن کاملToward a Common Component Architecture for High-Performance Scientific Computing
This paper describes work in progress to develop a standard for interoperability among high-performance scientific components. This research stems from growing recognition that the scientific community needs to better manage the complexity of multidisciplinary simulations and better address scalable performance issues on parallel and distributed architectures. Driving forces are the need for fa...
متن کاملA component approach to collaborative scientific software development: Tools and techniques utilized by the Quantum Chemistry Science Application Partnership
Cutting-edge scientific computing software is complex, increasingly involving the coupling of multiple packages to combine advanced algorithms or simulations at multiple physical scales. Component-based software engineering (CBSE) has been advanced as a technique for managing this complexity, and complex component applications have been created in the quantum chemistry domain, as well as severa...
متن کاملبررسی نگرش پرستاران در مورد بهکارگیری رایانش ابری در بیمارستان
Aim: Nowadays, cloud computing technology use in health care industry widely, because it has benefits such as reduce costs, expand the availability and integrity of information. In this study, nurses' attitude towards cloud computing technology is examined in order to determine the benefits, barriers and infrastructure required for implementation. Methods: This descriptive-analytic study was d...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006